/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo.regresion;

import modelo.regresion.TablaRegresion;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Carlos
 */
public class TableSpaceRegresion {

    private String nombre;
    List<TablaRegresion> list;
    private Float prom_individuos;
    private Float prom_pesos;
    private Float espacioLibre;
    private Float libreMb;
    private Float usadoMb;

    public TableSpaceRegresion(String nom) {
        this.nombre = nom;
        this.list = new ArrayList<>();
        this.prom_individuos = new Float(0.0);
        this.prom_pesos = new Float(0.0);
        this.libreMb = new Float(0.0);
        this.usadoMb = new Float(0.0);
    }

    public Float getLibreMb() {
        return libreMb;
    }

    public void setLibreMb(Float libreMb) {
        this.libreMb = libreMb;
    }

    public Float getUsadoMb() {
        return usadoMb;
    }

    public void setUsadoMb(Float usadoMb) {
        this.usadoMb = usadoMb;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public List<TablaRegresion> getList() {
        return list;
    }

    public void setList(List<TablaRegresion> list) {
        this.list = list;
    }

    public Float getProm_individuos() {
        return prom_individuos;
    }

    public void setProm_individuos(Float prom_individuos) {
        this.prom_individuos = prom_individuos;
    }

    public Float getPromedioPesos() {
        Float prom = new Float(0.0);
        for (TablaRegresion tbl : list) {
            prom += tbl.getAcumulado_pesos();
        }
        return prom;
    }

    public Float promedioCrecimiento() {
        Float pron = new Float(0.0);
        for (TablaRegresion tbl : list) {            
            pron += tbl.funcion();
        }
        pron /= list.size();
        return pron;
    }

    public Float pronostico() {
        Float p = libreMb / promedioCrecimiento();
        return p;
    }

    public Float getPromedioIndividuos() {
        Float prom = new Float(0.0);
        return prom;
    }

    public Float getProm_pesos() {
        return prom_pesos;
    }

    public Float getEspacioLibre() {
        return espacioLibre;
    }

    public void setEspacioLibre(Float espacioLibre) {
        this.espacioLibre = espacioLibre;
    }

    public void setProm_pesos(Float prom_pesos) {
        this.prom_pesos = prom_pesos;
    }

    public void agrega_nombre_tabla(String n) {
        list.add(new TablaRegresion(n));
    }

    public void addPeso(String tabla, Float peso) {
        this.prom_pesos += peso;
        getTablaRegresion(tabla).addPeso(peso);
    }

    public void addIndividuos(String tabla, Integer cantIndividuos) {
        this.prom_individuos += cantIndividuos;
        getTablaRegresion(tabla).addCantIndividuos(cantIndividuos);

    }

    public TablaRegresion getTablaRegresion(String nomTabla) {
        for (TablaRegresion tb : list) {
            if (tb.getNombre_tabla().equals(nomTabla)) {
                return tb;
            }
        }
        return null;
    }
}
